#include<iostream>
#include<queue>
using namespace std;

typedef pair<int, int> PII;
int main()
{
	queue<PII> q;
	for (int i = 1; i <= 10; i++)
	{
		q.push({ i,i * 10 });
	}
	while (q.size())
	{
		auto t = q.front();
		q.pop();
		cout << t.first << " " << t.second << endl;
	}

	return 0;
}
//const int N = 1e5+10;
//int h, t, q[N];
//void push(int x)
//{
//	q[++t] = x;
//}
//void pop()
//{
//	h++;
//}
//int front()
//{
//	return q[h + 1];
//}
//int back()
//{
//	return q[t];
//}
//bool empty()
//{
//	return t == h;
//}
//int size()
//{
//	return t - h;
//}
//int main()
//{
//	for (int i = 1; i <= 10; i++)
//	{
//		push(i);
//	}
//	while (size())
//	{
//		cout << front() << " " << back() << endl;
//		pop();
//	}
//	return 0;
//}
//#define _CRT_SECURE_NO_WARNINGS 1
//#include<iostream>
//#include<stack>
//#include<string>
//using namespace std;
//const int N = 110;
//bool st[N];
//int main()
//{
//	string s; cin >> s;
//	stack<int> stk;
//	for (int i = 0; i < s.size(); i++)
//	{
//		char ch = s[i];
//		if (ch == '[' || ch == '(')stk.push(i);
//		else
//		{
//			if (stk.empty())
//			{
//				continue;
//			}
//			int t = stk.top();
//			char left = s[t];
//			if (left == '(' && ch == ')'|| left == '[' && ch == '}')
//			{
//				st[t] = st[i] = true;
//				stk.pop();
//			}
//		}
//	}
//	string ret = "";
//	for (int i = 0; i < s.size(); i++)
//	{
//		char ch = s[i];
//		if (st[i])
//		{
//			ret += ch;
//		}
//		else
//		{
//			if (ch == '(')
//			{
//				ret += ch;
//				ret += ')';
//			}
//			else if (ch == ')')
//			{
//				ret += '(';
//				ret += ch;
//			}
//			else if (ch == '[')
//			{
//				ret += ch;
//				ret += ']';
//			}
//			else
//			{
//				ret += '[';
//				ret += ch;
//			}
//		}
//	}
//	return 0;
//}